package com.cupk.rotaryguard.monitor.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.cupk.common.base.utils.result.Result;
import com.cupk.rotaryguard.monitor.entity.DeviceDiagnosis;

import java.util.List;

/**
 * @author tjy
 * @date 2023/4/13
 * @apiNote
 */
public interface DiagnosisService extends IService<DeviceDiagnosis> {
    /**
     * 获取诊断结果
     *
     * @param deviceId
     * @return
     */
    Result diagnosisDevice(Long deviceId);

    /**
     * 概率分布预测
     *
     * @param deviceId
     * @return
     */
    Result diagnosisDeviceProb(Long deviceId);

    /**
     * 获取故障中的设备数量
     *
     * @return
     */
    Result getFaultDeviceCount();

    /**
     * 根据设备号获取最新10条诊断记录
     *
     * @param deviceId
     * @return
     */
    Result getLastTenDiagnosisRecord(Long deviceId);

    /**
     * 获取诊断记录
     *
     * @param pageSize
     * @param pageNum
     * @param deviceId
     * @param deviceModel
     * @param diagnosisRes
     * @return
     */
    Result getDiagnosisRecord(Integer pageSize, Integer pageNum, Long deviceId, String deviceModel, String diagnosisRes);

    /**
     * 单个删除
     *
     * @param id
     * @return
     */
    Result delDiagnosisRecord(Long id);

    /**
     * 批量删除
     *
     * @param ids
     * @return
     */
    Result delDiagnosisRecords(List<Long> ids);
}
